<!DOCTYPE html>
<html th:replace="~{layouts/layout :: layout(~{::title}, ~{::#main_content})}" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>数组学习</title>
</head>
<body>
<div id="main_content">

	<style>

		ul,li{list-style: none outside none;margin:0;padding:0}
		a{ text-decoration: none;}
		.clear {
			clear: both;
			font-size: 0;
			height: 0;
			line-height: 0;
		}

		.main .box{
			clear:both;
			padding: 10px 0 5px 0;
			border-bottom: 1px solid #eee;
		}
		.main .box .title{
			width:200px;
			color:#0099CC;
			font-size:16px;
			font-weight: bold;
			padding:5px;
		}
		.main .box .content{
			padding:2px 0px;
		}
		.main .box .content li{

			display:block;
			float:left;
			width:120px;
		}
		.main .box .content li a{
			color: #406986;
		}

	</style>

    <div class="main">
	<div class="row">
		<div class="col-lg-6">

			<div class="box">
				<div class="title">1. 数组的定义</div>
					<ul class="content">
						<pre><code>int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
						</code></pre>
					</ul>
					<div class="clear"></div>
			</div>


			<div class="box">
				<div class="title">2. Arrays.toString()</div>
				<ul class="content">
						<pre><code>int [] arr  = {1,12,13,4,5};
Arrays.sort(arr);
String arr2str = Arrays.toString(arr);
model.addAttribute("arr2str",arr2str);
查找12的索引:<span th:text="${idx}"></span>
打印数组:<span th:text="${arr2str}"></span></code></pre>
				</ul>
				<div class="clear"></div>
			</div>

			<div class="box">
				<div class="title">3. 单例设计模式</div>
				<ul class="content">
						<pre><code>
class Single {
	private static Single s = new Single(); // 恶汉式
	private Single() {}
	public static Single getInstance() {
		return s;
	}
}

class Single2 {
	private static Single2 s = null; // 懒汉
	private Single2() {}
	public static Single2 getInstance() {
		if (s == null) {
			s = new Single2();
		}
		return s;
	}
}
						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>

			<div class="box">
				<div class="title">4. 类关系</div>
				<ul class="content">
						<pre><code>java中的类关系
1：is a 继承关系 (学生是人)
2：has a 组合关系 整体与部分
						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>
			<div class="box">
				<div class="title">5.异常体系</div>
				<ul class="content">
						<pre><code>java异常体系
|——Throwable  （实现类描述java的错误和异常）
	|——Error （错误）一般不通过代码去处理。
	|——Exceprion （异常）
		|——RuntimeException （运行时异常）
		|——非运行时异常

Throwable类 常用方法
1.toString() 输出该异常的类名。
2.getMessage() 输出异常的信息，需要通过构造方法传入异常信息（例如病态信息）。
3.printStackTrace() 打印栈信息。
							
						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>
			<div class="box">
				<div class="title">6. 文件操作</div>
				<ul class="content">
						<pre><code>
1. 传统方式
2. java7模式
3. lombok注解

						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>
			<div class="box">
				<div class="title">6. 打包jar</div>
				<ul class="content">
						<pre><code>详细命令
1：jar cf test.jar cn 在当前目录生成test.jar 文件，没有显示执行过程
2：jar cvf test.jar cn 显示打包中的详细信息
3：jar tf test.jar  显示jar文件中包含的所有目录和文件名
4：jar tvf test.jar 显示jar文件中包含的所有目录和文件名大小，创建时间详
细信息
5：jar xf test.jar  解压test.jar到当前目录，不显示信息
6：jar xvf test.jar 解压test.jar到当前目录，显示详细信息
7：可以使用WinRaR进行jar解压
8；将两个类文件归档到一个名为 test2.jar 的归档文件中：
	jar cvf test2.jar Demo3.class Demo4.class
9：重定向
	1：tvf可以查看jar文件内容，jar文件大，包含内容多，dos看不全。
	2：查看jdk中的rt.jar 文件 jar tvf rt.jar
	3：jar tvf rt.jar>d:\rt.txt

						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>
		</div><!-- col-lg-6 -->


		<div class="col-lg-6">
			<div class="box">
				<div class="title">1.待补充内容</div>
				<ul class="content">
				<pre><code>
1. 集合的遍历方法
foreach, iterate,
2. hash, linked, tree 三种实现
3. set, map, list
4. 枚举类
5. 正则表达式
6. 泛型
						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>
			<div class="box">
				<div class="title">2. enum </div>
				<ul class="content">
						<pre><code>
package com.s666.demo.common.enums;

import org.springframework.expression.spel.ast.NullLiteral;

/**
 * 枚举可表示多个值
 */
public enum  TestEnum {
    INIT(1, "初始", "init"),
    SUCCESS(6, "成功", "success"),
    FAIL(11, "失败", "fail");

    private int code;
    private String symbol;
    private String name;

    /**
     * 参数的顺序必须与INIT(1, "初始", "init")的一致
     * @param code
     * @param name
     * @param symbol
     */
    TestEnum(int code, String name, String symbol) {
        this.code = code;
        this.name = name;
        this.symbol = symbol;
    }

    public int getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    public String getSymbol() {
        return symbol;
    }

    /**
     * 根据符号获取
     *
     * @param symbol
     * @return TestEnum
     */
    public static TestEnum getBySymbol(String symbol) {
        switch (symbol) {
            case "init":
                return INIT;
            case "success":
                return SUCCESS;
            case "fail":
                return FAIL;
            default:
                return null;
        }
    }

    @Override
    public String toString() {
        return "TestEnum{" +
                "code=" + code +
                ", name='" + name + '\'' +
                ", symbol='" + symbol + '\'' +
                '}';
    }
}

						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>
			<div class="box">
				<div class="title">3. enum的使用
                <a href="/enum/index" target="_blank">查看</a>
                </div>
				<ul class="content">
                    <pre><code>
TestEnum a =  TestEnum.getBySymbol("success");
log.info(a.toString());
log.info("code:" +  TestEnum.SUCCESS.getCode() + "; name:" + TestEnum.SUCCESS.getName() + "; symbol:" +TestEnum.SUCCESS.getSymbol() );

						</code></pre>
				</ul>
				<div class="clear"></div>
			</div>
		
		</div><!-- col-lg-6 -->

	</div><!-- row -->
    </div><!-- main -->


    <link rel="stylesheet" href="/static/highlight/solarized_light.css">
    <script src="/static/highlight/highlight.min.js"></script>
    <script>hljs.initHighlightingOnLoad();</script>

</div>
</body>
</html>